package com.hl.order.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 会员充值记录对象 member_recharge_record
 * 
 * @author ruoyi
 * @date 2025-08-11
 */
public class MemberRechargeRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 用户名 */
    @Excel(name = "用户名")
    private String username;

    /** 手机号 */
    @Excel(name = "手机号")
    private String mobile;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderNo;

    /** 充值渠道(小程序/APP等) */
    @Excel(name = "充值渠道(小程序/APP等)")
    private String rechargeChannel;

    /** 实际支付金额(元) */
    @Excel(name = "实际支付金额(元)")
    private BigDecimal rechargeFee;

    /** 充值面额名称(青铜会员/普通会员等) */
    @Excel(name = "充值面额名称(青铜会员/普通会员等)")
    private String faceValueName;

    /** 充值面额金额(元) */
    @Excel(name = "充值面额金额(元)")
    private BigDecimal faceValue;

    /** 售价(元) */
    @Excel(name = "售价(元)")
    private BigDecimal discountPrice;

    /** 是否开启促销(0否 1是) */
    @Excel(name = "是否开启促销(0否 1是)")
    private Integer isPromotion;

    /** 充值后是否赠送余额(0否 1是) */
    @Excel(name = "充值后是否赠送余额(0否 1是)")
    private Integer giveBalance;

    /** 充值后是否赠送优惠券(0否 1是) */
    @Excel(name = "充值后是否赠送优惠券(0否 1是)")
    private Integer giveCoupon;

    /** 赠送的优惠券描述 */
    @Excel(name = "赠送的优惠券描述")
    private String couponDesc;

    /** 赠送余额数量(元) */
    @Excel(name = "赠送余额数量(元)")
    private BigDecimal balanceQuantity;

    /** 交易状态 */
    @Excel(name = "交易状态")
    private String tradeStatus;

    /** 订单备注 */
    @Excel(name = "订单备注")
    private String description;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setUsername(String username) 
    {
        this.username = username;
    }

    public String getUsername() 
    {
        return username;
    }

    public void setMobile(String mobile) 
    {
        this.mobile = mobile;
    }

    public String getMobile() 
    {
        return mobile;
    }

    public void setOrderNo(String orderNo) 
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo() 
    {
        return orderNo;
    }

    public void setRechargeChannel(String rechargeChannel) 
    {
        this.rechargeChannel = rechargeChannel;
    }

    public String getRechargeChannel() 
    {
        return rechargeChannel;
    }

    public void setRechargeFee(BigDecimal rechargeFee) 
    {
        this.rechargeFee = rechargeFee;
    }

    public BigDecimal getRechargeFee() 
    {
        return rechargeFee;
    }

    public void setFaceValueName(String faceValueName) 
    {
        this.faceValueName = faceValueName;
    }

    public String getFaceValueName() 
    {
        return faceValueName;
    }

    public void setFaceValue(BigDecimal faceValue) 
    {
        this.faceValue = faceValue;
    }

    public BigDecimal getFaceValue() 
    {
        return faceValue;
    }

    public void setDiscountPrice(BigDecimal discountPrice) 
    {
        this.discountPrice = discountPrice;
    }

    public BigDecimal getDiscountPrice() 
    {
        return discountPrice;
    }

    public void setIsPromotion(Integer isPromotion) 
    {
        this.isPromotion = isPromotion;
    }

    public Integer getIsPromotion() 
    {
        return isPromotion;
    }

    public void setGiveBalance(Integer giveBalance) 
    {
        this.giveBalance = giveBalance;
    }

    public Integer getGiveBalance() 
    {
        return giveBalance;
    }

    public void setGiveCoupon(Integer giveCoupon) 
    {
        this.giveCoupon = giveCoupon;
    }

    public Integer getGiveCoupon() 
    {
        return giveCoupon;
    }

    public void setCouponDesc(String couponDesc) 
    {
        this.couponDesc = couponDesc;
    }

    public String getCouponDesc() 
    {
        return couponDesc;
    }

    public void setBalanceQuantity(BigDecimal balanceQuantity) 
    {
        this.balanceQuantity = balanceQuantity;
    }

    public BigDecimal getBalanceQuantity() 
    {
        return balanceQuantity;
    }

    public void setTradeStatus(String tradeStatus) 
    {
        this.tradeStatus = tradeStatus;
    }

    public String getTradeStatus() 
    {
        return tradeStatus;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("username", getUsername())
            .append("mobile", getMobile())
            .append("orderNo", getOrderNo())
            .append("rechargeChannel", getRechargeChannel())
            .append("rechargeFee", getRechargeFee())
            .append("faceValueName", getFaceValueName())
            .append("faceValue", getFaceValue())
            .append("discountPrice", getDiscountPrice())
            .append("isPromotion", getIsPromotion())
            .append("giveBalance", getGiveBalance())
            .append("giveCoupon", getGiveCoupon())
            .append("couponDesc", getCouponDesc())
            .append("balanceQuantity", getBalanceQuantity())
            .append("tradeStatus", getTradeStatus())
            .append("createTime", getCreateTime())
            .append("description", getDescription())
            .toString();
    }
}
